// 版权归陈超所有

#pragma once

#include "CoreMinimal.h"
#include "Characters/CC_CharacterBase.h"
#include "CC_HeroCharacter.generated.h"

class UCameraComponent;
class USpringArmComponent;
/**
 * 
 */
UCLASS()
class CC_AURA_API ACC_HeroCharacter : public ACC_CharacterBase
{
	GENERATED_BODY()

public:
	//构造函数
	ACC_HeroCharacter();

	//服务器端初始化ASC
	virtual void PossessedBy(AController* NewController) override;;
	//客户端初始化ASC
	virtual void OnRep_PlayerState() override;
	
protected:
	//初始化能力演员信息
	virtual void InitCharacterASC() override;

#pragma region Components
	//弹簧臂组件
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Camera", meta = (AllowPrivateAccess = "true"))
	TObjectPtr<USpringArmComponent> SpringArm;
	
	//跟随摄像机组件
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Camera", meta = (AllowPrivateAccess = "true"))
	TObjectPtr<UCameraComponent> FollowCamera;
	
#pragma endregion
	
};
